home *** CD-ROM | disk | FTP | other *** search
/ Czech Logic, Card & Gambling Games / Logické hry.iso / hry / Fish Fillets / script / wreck / code.lua next >
Text File  |  2005-07-16  |  5KB  |  138 lines

  1.  
  2. -- -----------------------------------------------------------------
  3. -- Init
  4. -- -----------------------------------------------------------------
  5. local function prog_init()
  6.     initModels()
  7.     sound_playMusic("music/rybky02.ogg")
  8.     local pokus = getRestartCount()
  9.  
  10.  
  11.     -- -------------------------------------------------------------
  12.     local function prog_init_room()
  13.         local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
  14.  
  15.         room.uvod = 0
  16.         room.ooceli = 0
  17.         room.maladole = 0
  18.         room.velkadole = random(2)
  19.  
  20.         return function()
  21.             if isReady(small) and isReady(big) and no_dialog() then
  22.                 if room.uvod == 0 then
  23.                     adddel(random(15) + 10)
  24.                     switch(random(5)){
  25.                         [0] = function()
  26.                             addv(0, "pot-v-slus")
  27.                             addm(random(8), "pot-m-dik")
  28.                         end,
  29.                         [1] = function()
  30.                             addv(0, "pot-v-cepic")
  31.                             addm(random(8), "pot-m-klob")
  32.                         end,
  33.                         [2] = function()
  34.                             addv(0, "pot-v-hlave")
  35.                             addm(random(8), "pot-m-zima")
  36.                         end,
  37.                         [3] = function()
  38.                             addm(0, "pot-m-pujc")
  39.                             addv(random(8), "pot-v-leda")
  40.                         end,
  41.                         [4] = function()
  42.                             addm(0, "pot-m-velik")
  43.                             addv(random(8), "pot-v-kras")
  44.                         end,
  45.                     }
  46.                     if pokus == 1 or random(100) < 15 then
  47.                         room.uvod = 1
  48.                     else
  49.                         room.uvod = 2
  50.                     end
  51.                 elseif room.uvod == 1 then
  52.                     addv(20 + random(30), "pot-v-lod")
  53.                     addm(9, "pot-m-soud")
  54.                     addv(2, "pot-v-jmeno")
  55.                     adddel(10)
  56.                     room.uvod = 2
  57.                 elseif room.ooceli == 0 and (big.X == 16 and big.Y == 3 and big:isLeft() or big.X < 16 and big.Y == 4) then
  58.                     switch(random(2)){
  59.                         [0] = function()
  60.                             addv(0, "pot-v-nehnu")
  61.                         end,
  62.                         [1] = function()
  63.                             addv(0, "pot-v-trub")
  64.                         end,
  65.                     }
  66.                     switch(random(2)){
  67.                         [0] = function()
  68.                             addm(15, "pot-m-nezb")
  69.                         end,
  70.                         [1] = function()
  71.                             addm(15, "pot-m-dovn")
  72.                         end,
  73.                     }
  74.                     room.ooceli = 1
  75.                 elseif room.maladole == 0 and small.Y >= 12 and random(100) < 5 then
  76.                     switch(random(2)){
  77.                         [0] = function()
  78.                             addm(5, "pot-m-zatuch")
  79.                         end,
  80.                         [1] = function()
  81.                             addm(5, "pot-m-moc")
  82.                         end,
  83.                     }
  84.                     if random(100) < 50 or pokus == 1 then
  85.                         addv(random(10), "pot-v-plav")
  86.                     end
  87.                     room.maladole = 1
  88.                 elseif room.velkadole == 0 and big.Y > 11 then
  89.                     addv(random(10), "pot-v-nikdo")
  90.                     room.velkadole = 1
  91.                 elseif room.velkadole < 2 and big.Y >= 14 and not big:isLeft() and random(100) < 8 then
  92.                     if small.Y < 14 or random(100) < 40 then
  93.                         addm(5, "pot-m-vidis")
  94.                         addv(random(3), "pot-v-vidim")
  95.                     else
  96.                         addv(5, "pot-v-ponur")
  97.                         addm(random(5), "pot-m-hnil")
  98.                     end
  99.                     room.velkadole = 2
  100.                 end
  101.             end
  102.         end
  103.     end
  104.  
  105.     -- -------------------------------------------------------------
  106.     local function prog_init_meduza()
  107.         return function()
  108.             meduza.afaze = random(3)
  109.             meduza:updateAnim()
  110.         end
  111.     end
  112.  
  113.     -- --------------------
  114.     local update_table = {}
  115.     local subinit
  116.     subinit = prog_init_room()
  117.     if subinit then
  118.         table.insert(update_table, subinit)
  119.     end
  120.     subinit = prog_init_meduza()
  121.     if subinit then
  122.         table.insert(update_table, subinit)
  123.     end
  124.     return update_table
  125. end
  126. local update_table = prog_init()
  127.  
  128.  
  129. -- -----------------------------------------------------------------
  130. -- Update
  131. -- -----------------------------------------------------------------
  132. function prog_update()
  133.     for key, subupdate in pairs(update_table) do
  134.         subupdate()
  135.     end
  136. end
  137.  
  138.